#ifndef AI_SERVICE_H
#define AI_SERVICE_H

#include <memory>
#include "system_ability.h"
#include "ai_service_stub.h"

namespace OHOS {
namespace AIS {

class AIService : public SystemAbility, public AIServiceStub {
DECLARE_SYSTEM_ABILITY(AIService);
public:
public:
    AIService(int32_t systemAbilityId, bool runOnCreate);

    ~AIService();

    int32_t Init(std::string& modelPath, int32_t* modelId) override;

    int32_t Process(const int32_t modelId, PicDesc& picDesc, std::string& picData, InferResult& result) override; 

    int32_t DeInit() override;
    
protected:
    void OnStart() override;

    void OnStop() override;
};

} // namespace AIS
} // namespace OHOS

#endif // AI_SERVICE_H